package com.xmtlxx.oms.domain.bo;

import com.xmtlxx.common.core.domain.BaseEntity;
import com.xmtlxx.common.core.validate.AddGroup;
import com.xmtlxx.common.core.validate.EditGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * 财物日志业务对象 t_property_log
 *
 * @author xmtlxx
 * @date 2022-11-28
 */

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("财物日志业务对象")
public class PropertyLogBo extends BaseEntity {

    /**
     * 日志ID
     */
    @ApiModelProperty(value = "日志ID")
    private String id;

    /**
     * objid
     */
    @ApiModelProperty(value = "objid", required = true)
    @NotBlank(message = "objid不能为空", groups = { AddGroup.class, EditGroup.class })
    private String objid;

    /**
     * 记录时间
     */
    @ApiModelProperty(value = "记录时间", required = true)
    @NotNull(message = "记录时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date logTime;

    /**
     * 经办人ID
     */
    @ApiModelProperty(value = "经办人ID", required = true)
    @NotNull(message = "经办人ID不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long userId;

    /**
     * 经办人
     */
    @ApiModelProperty(value = "经办人", required = true)
    @NotBlank(message = "经办人不能为空", groups = { AddGroup.class, EditGroup.class })
    private String operator;

    /**
     * 记录类型
     */
    @ApiModelProperty(value = "记录类型", required = true)
    @NotBlank(message = "记录类型不能为空", groups = { AddGroup.class, EditGroup.class })
    private String logType;

    /**
     * 记录内容
     */
    @ApiModelProperty(value = "记录内容", required = true)
    @NotBlank(message = "记录内容不能为空", groups = { AddGroup.class, EditGroup.class })
    private String content;

    /**
     * 存放单位ID
     */
    @ApiModelProperty(value = "存放单位ID", required = true)
    @NotNull(message = "存放单位ID不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long deptId;

    /**
     * 移交单位ID
     */
    @ApiModelProperty(value = "移交单位ID", required = true)
    @NotNull(message = "移交单位ID不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long receiveDept;

    /**
     * 物品编号
     */
    @ApiModelProperty(value = "物品编号", required = true)
    @NotBlank(message = "物品编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pno;

    /**
     * 物品名称
     */
    @ApiModelProperty(value = "物品名称", required = true)
    @NotBlank(message = "物品名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String name;

    /**
     * 存放仓库ID
     */
    @ApiModelProperty(value = "存放仓库ID", required = true)
    @NotBlank(message = "存放仓库ID不能为空", groups = { AddGroup.class, EditGroup.class })
    private String storeId;

    /**
     * 附件
     */
    @ApiModelProperty(value = "附件")
    private String pics;

    /**
     * JSON
     */
    @ApiModelProperty(value = "JSON")
    private String info;

    /**
     * 删除标识
     */
    @ApiModelProperty(value = "删除标识")
    private String delFlag;

    @ApiModelProperty(value = "数量")
    private String nums;

    @ApiModelProperty(value = "节点")
    private String node;

}
